Qt5.4文档翻译:QScroller类,QScroller Class
QScroller 类, 为任意的滚动部件或图形条目提供运动学的滚动功能。 详细说明……
头文件: |
#include <QScroller> |
qmake指令: |
QT += widgets |
自此版本开始引入: |
Qt 5.0 |
继承: |
QObject . |
QScroller 类, 为任意的滚动部件或图形条目提供运动学的滚动功能。
运动学滚动,指的是,用户可以将该部件向着某个方向推动一下,然后,该部件会继续朝着那个方向滚动,直到用户明确停止它,或者因摩擦力而停止。可改变其中的惯性、摩擦力等物理学参数,以产生一个美观的用户体验。
QScroller 对象负责记录当前位置 、滚动速度,并且处理好界面的刷新。 QScroller 可通过 一次快速拖放手势来触发
QWidget *w = ...;
QScroller :: grabGesture (w, QScroller ::LeftMouseButtonGesture);
或直接触发:
QWidget *w = ...;
QScroller *scroller = QScroller :: scroller (w);
scroller-> scrollTo ( QPointF (100, 100));
被滚动的那些 QObject ,会在滚动器需要更新它的几何信息时接收到一个 QScrollPrepareEvent , 并在该对象的内容应当实际发生滚动时接收到一个 QScrollEvent 。
滚动 器使用全局的 QAbstractAnimation 定时器来生成它的QScrollEvent。 这一点,可针对每个 QScroller 来使用 QScrollerProperties::FrameRate 单独设置。
在 scroller 示例目录中有多个示例,展示 了如何使用 QScroller 、 QScrollEvent 和那些滚动器手势。
尽管运动 学滚动器可以通过 QScrollerProperties 来设置一大波选项,但是, 我们建议妳使用它们的那些已针对平台进行优化的默认值。 在真正修改这些参数之前,可以通过 scroller 示例目录中的 plot 示例来体验它们的效果。
参考 QScrollEvent 、 QScrollPrepareEvent 和 QScrollerProperties 。
这个枚举,包含的是, QScroller 中手势识别器所支持的不同的手势类型。
常量 |
值 |
说明 |
QScroller::TouchGesture |
0 |
这个手势识别器只会被触摸事件触发。特别地,当用在一个触摸屏上时,会对单点触摸做出响应,用在触摸板上时,会对双点触摸做出响应。 |
QScroller::LeftMouseButtonGesture |
1 |
这个手势识别器只会被鼠标左键事件触发。 |
QScroller::MiddleMouseButtonGesture |
3 |
这个手势识别器只会被鼠标中键事件触发。 |
QScroller::RightMouseButtonGesture |
2 |
这个手势识别器只会被鼠标右键事件触发。 |
注册 一个自定义的滚动手势识别器, 为 target 抓取该手势,并且返回最终的手势类型。如果 scrollGestureType 被设置为 TouchGesture ,则,该手势会被触摸事件触发。如果 它被设置为 LeftMouseButtonGesture 、 RightMouseButtonGesture 或 MiddleMouseButtonGesture ,则,它会被对应的鼠标按键触发。
对于单个对象,同一时刻只能有一个滚动手势处于活跃状态。如果妳对于同一个对象调用了两次这个函数的话,则,它会在抓取新的手势之前解除对于之前的手势的抓取。
注意 : 为了避免产生不需要的副作用,鼠标事件 在手势被触发时会被消费掉。由于最初 的鼠标按下事件 未被消费掉,因此,手势会 在全局的位置 (INT_MIN, INT_MIN) 处发送一个假的鼠标松开事件。 这样就确保了接收 到最初鼠标按下事件的部件的内部状态处于完整状态。
参考 ungrabGesture () 和 grabbedGesture () 。
未知美人
暗访 宁
水疗中心特大卖淫窝点
HxLauncher: Launch Android applications by voice commands